Enabling programming of recordings

ABSTRACT

Enabling a first user to send to a second user a promotional program icon used to enable recording of a program promoted by the icon includes enabling the first user to access a display of content accessible via a network environment. The display of content includes the promotional program icon, and the first user is able to select the promotional program icon and request presentation of the icon to a second user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from U.S. Provisional Application No.60/361,278, filed Mar. 4, 2002, and titled ENABLING PROGRAMMING OFPERSONAL VIDEO RECORDINGS, which is hereby incorporated by reference inits entirety for all purposes.

TECHNICAL FIELD

This document relates to enabling programming of personal recordingsover a communications system.

BACKGROUND

Personal recording devices allow users to record programs of interestfor later viewing or listening. Such programs may include video programs(e.g., television programs) and/or music programs (e.g., radio music ormusic playing from a recording medium such as a tape or a compact disc).Examples of personal video recording devices include video cassetterecorders (VCRs), digital video disc (DVD) recorders, and digitalrecording set top boxes. Examples of personal music recording devicesinclude tape players, CD players, dictaphones, and MPEG layer 3 (MP3)players.

The vast majority of personal recording devices are programmable.Programmable personal recording devices may be directed by users torecord programs at user-specified times. For example, a user may directthe programmable personal recording device to record a programimmediately and/or at one or more set times in the future. Programmingsuch recording devices typically requires that the user physically touchor be physically near the programmable recording device.

SUMMARY

In one general aspect, enabling a first user to send to a second user apromotional program icon used to enable recording of a program promotedby the icon includes enabling the first user to access a display ofcontent accessible in a network environment. The display of contentincludes the promotional program icon, and the first user is able toselect the promotional program icon and request presentation of the iconto a second user. The program promoted by the promotional program iconmay be a video program.

Enabling the user to request presentation of the program icon mayinclude enabling the user to electronically send the promotional programicon to the second user. The promotional program icon may be sent in ane-mail or in an instant message.

The first user may perceive a set of options upon selecting thepromotional program icon including an option to electronically send thepromotional program icon to another user. The set of options may includeone or more of the following options: an option to record the programpromoted by the promotional program icon one time or periodically, anoption to add schedule data of the program promoted by the promotionalprogram icon to a calendar of the user, an option to set an alert thatwill inform the user when the program is being shown or will be shown,an option to add the program promoted by the selected promotionalprogram icon to a preferred list of programs to record, and an option toset a conflict priority rating used to determine whether the programwill be recorded when a recording schedule of the program conflicts witha recording schedule of another program.

The set of options may dynamically change based on identification dataincluding user identification data and recording device identificationdata. The second user is also able to perceive the set of options uponselecting the promotional program icon.

Implementations of the techniques described above may include a methodor process, an apparatus or a system, or computer software on acomputer-accessible medium.

Other features will be apparent from the description, the drawings, andthe claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a communications system that enables usersto program personal recording devices over a network.

FIG. 2 is a block diagram of the communications system of FIG. 1 with adetailed view of an exemplary client system.

FIG. 3 is a screen display of an exemplary conventional electronicprogram guide.

FIG. 4. is a screen display of an exemplary display including apromotional program icon.

FIG. 5A is a flow chart of an exemplary process used to enable recordingof programs.

FIG. 5B is a flow chart of the process of FIG. 5A with substepsexemplifying one method of enabling the user to record a programpromoted by the promotional program icon.

FIG. 6 is a screen display of an exemplary recording device setupconfiguration screen.

FIG. 7 is a screen display of an exemplary menu of recording devicesetup options.

FIG. 8 is a screen display of an exemplary recording requestconfirmation screen.

FIG. 9 is a flow chart of the process of FIG. 5B with additionalsubsteps exemplifying one method for electronically sending thepromotional program icon from one user to another.

FIG. 10 is a screen display of an example of an e-mail message includinga promotional program icon.

DETAILED DESCRIPTION

A web-site that is unrelated to the scheduling of program recordingsincludes a promotional program icon that may be selected by a user toinspire delivery of information to a second user, thereby enablingprogramming of a personal recording device at the second user to recordat least one of the programs promoted by the program icon. The seconduser receives the promotional program icon in an e-mail or in an instantmessage and, upon selecting the promotional program icon, is presentedwith a set of options.

The set of options includes the option to record one or more of theprograms promoted by the promotional program icon using a personalrecording device. The set of options also includes the option to sendthe promotional program icon in an e-mail or in an instant message toanother user.

The web-site thus provides a user with the ability to inform other usersof interesting programs and to send to those other users a convenientmechanism to record the programs (i.e., by selecting the icon andchoosing recording options). In return, the web-site provider benefitsby offering a more effective advertising option to program promoters.The promotional program icon, unlike typical web-site banners or icons,is programmed to be easily replicated and passed along from user touser. This viral replication of the promotional program icon results inmore users being exposed to the program promotion, more users recordingthe promoted programs, and, ultimately, more users watching the promotedprograms.

Referring to FIG. 1, a communications system 100 that enables users toprogram personal recording devices over a network is capable ofdelivering and exchanging data between a client system 105 and a hostsystem 110 through a communications link 115. The client system 105typically includes one or more client devices 120 and/or clientcontrollers 125, and the host system 110 typically includes one or morehost devices 135 and/or host controllers 140. For example, the clientsystem 105 or the host system 110 may include one or more generalpurpose computers (e.g., personal computers), one or morespecial-purpose computers (e.g., devices specifically programmed tocommunicate with each other and/or the client system 105 or the hostsystem 110), or a combination of one or more general-purpose computersand one or more special-purpose computers. The client system 105 and thehost system 110 may be arranged to operate within or in concert with oneor more other systems, such as, for example, one or more LANs (“LocalArea Networks”) and/or one or more WANs (“Wide Area Networks”).

The client device 120 (or the host controller device 135) is generallycapable of executing instructions under the command of a clientcontroller 125 (or a host controller 140). The client device 120 (or thehost device 135) is connected to the client controller 125 (or the hostcontroller 140) by a wired or wireless data pathway 130 or 145 capableof delivering data.

Each of the client device 120, the client controller 125, the hostdevice 135, and the host controller 140 typically includes one or morehardware components and/or software components. An example of a clientdevice 120 or a host device 135 is a general-purpose computer (e.g., apersonal computer) capable of responding to and executing instructionsin a defined manner. Other examples include a special-purpose computer,a workstation, a server, a device, a component, other physical orvirtual equipment or some combination thereof capable of responding toand executing instructions.

An example of client controller 125 or a host controller 140 is asoftware application loaded on the client device 120 or the host device135 for commanding and directing communications enabled by the clientdevice 120 or the host device 135. Other examples include a program, apiece of code, an instruction, a device, a computer, a computer system,or a combination thereof, for independently or collectively instructingthe client device 120 or the host device 135 to interact and operate asdescribed. The client controller 125 and the host controller 140 may beembodied permanently or temporarily in any type of machine, component,physical or virtual equipment, storage medium, or propagated signalcapable of providing instructions to the client device 120 or the hostdevice 135.

The communications link 115 typically includes a delivery network 160that permits direct or indirect communication between the client system105 and the host system 110, irrespective of physical separation.Examples of a delivery network 160 include the Internet, the World WideWeb, WANs, LANs, analog or digital wired and wireless telephone networks(e.g., PSTN, ISDN, and xDSL), radio, television, cable, satellite, and/or any other delivery mechanism for carrying data. The communicationslink 115 may include communication pathways 150, 155 that enablecommunications through the one or more delivery networks 160 describedabove. Each of the communication pathways 150, 155 may include, forexample, a wired, wireless, cable or satellite communication pathway.

The host system 110 also may include a personal recording communicationsserver 165 that manages program recording communications between theclient system 105 and the host system 110 and that processes the programrecording communications into a data packet that is subsequently used torecord a program on a personal recording device 168 of the client system105. The data packet may be sent to the personal recording devicedirectly or indirectly using a recording device provisioner (not shown)that further processes the data in the data packet and subsequentlysupplies the processed recording information to the personal recordingdevice. The data packet also may be stored in a memory buffer 170 orsimilar storage device prior to being sent to the personal recordingdevice or the recording device provisioner.

The data packet includes identification information such as useridentification data, program identification data, and recording deviceidentification data. The program identification data may be provided tothe host system 110 by an external content provider server 175 or,alternatively or additionally, by an advertisement server 180. The useridentification and recording device identification data may be providedby a customer information database 185, which may be included as acomponent of host 110.

FIG. 2 illustrates a communication system 200 that includes a clientsystem 205 that communicates with a host system 210 through acommunications link 215. Client system 205 typically includes one ormore client devices 220 and one or more client controllers 225 forcontrolling the client devices 220. Host system 210 typically includesone or more host devices 235 and one or more host controllers 240 forcontrolling the host devices 235. The communications link 215 mayinclude communication pathways 250, 255 that enable communicationsthrough the one or more delivery networks 260.

Examples of each element within the communication system of FIG. 2 arebroadly described above with respect to FIG. 1. In particular, the hostsystem 210 and the communications link 215 typically have attributescomparable to those described with respect to the host system 110 andthe communications link 115 of FIG. 1, respectively. Likewise, theclient system 205 of FIG. 2 typically has attributes comparable to, andmay illustrate one possible implementation of, the client system 105 ofFIG. 1.

The client device 220 typically includes a general purpose computer 270having an internal or external storage 272 for storing data and programssuch as an operating system 274 (e.g., DOS, Windows®, Windows® 95,Windows® 98, Windows® 2000, Windows® NT, Windows® Millennium Edition,Windows® XP, OS/2, Macintosh OS, and Linux) and one or more applicationprograms. Examples of application programs include authoringapplications 276 (e.g., word processing, database programs, spreadsheetprograms, presentation programs, and graphics programs) capable ofgenerating documents or other electronic content; client applications278 (e.g., AOL client, CompuServe client, AIM client, AOL TV client, andISP client) capable of communicating with other computer users,accessing various computer resources, and viewing, creating, orotherwise manipulating electronic content; and browser applications 280(e.g., Netscape's Navigator and Microsoft's Internet Explorer) capableof rendering standard Internet content.

The general-purpose computer 270 also includes a central processing unit282 (CPU) for executing instructions in response to commands from theclient controller 225. In one implementation, the client controller 225includes one or more of the application programs installed on theinternal or external storage 272 of the general-purpose computer 270. Inanother implementation, the client controller 225 includes applicationprograms externally stored in and executed by one or more device(s)external to the general-purpose computer 270.

The general-purpose computer typically will include a communicationdevice 284 for sending and receiving data. One example of thecommunication device 284 is a modem. Other examples include atransceiver, a set-top box, a communication card, a satellite dish, anantenna, or another network adapter capable of transmitting andreceiving data over the communications link 215 through a wired orwireless data pathway 250. The general-purpose computer 270 also mayinclude a TV (“television”) tuner 286 for receiving televisionprogramming in the form of broadcast, satellite, and/or cable TVsignals. As a result, the client device 220 can selectively and/orsimultaneously display network content received by communications device284 and television programming content received by the TV tuner 286.

The general-purpose computer 270 typically will include an input/outputinterface 288 to enable a wired or wireless connection to variousperipheral devices 290. Examples of peripheral devices 290 include, butare not limited to, a mouse 291, a mobile phone 292, a personal digitalassistant 293 (PDA), a keyboard 294, a display monitor 295 with orwithout a touch screen input, a TV remote control 296 for receivinginformation from and rendering information to subscribers, a personalvideo recorder 298, and/or a personal music recorder 299. Other examplesmay include voice recognition and synthesis devices.

FIG. 2 illustrates that various devices 290 such as a mobile telephone292, a PDA 293, a personal video recording device 298, a personal musicrecording device 299, and a TV remote control 296 may be peripheral tothe general-purpose computer 270. However, in another implementation,one or more of these devices 290 may themselves include thefunctionality of the general-purpose computer 270 and/or may themselvesoperate as the client device 220. For example, the mobile phone 292 orthe PDA 293 may include computing and networking capabilities, and mayfunction as a client device 220 by accessing the delivery network 260and communicating with the host system 210. Furthermore, the clientsystem 205 may include one, some, all, or none of the components anddevices described above.

FIG. 3 shows a conventional electronic program guide 300. The electronicprogram guide 300 may be used in conjunction with a personal videorecording device 298 to enable recording of video programs.

The program guide 300 is a graphical display provided to the clientsystem 105 by the host system 110 over the network 160. The programguide 300 includes a list of channel categories 305, a display of thecurrent channel being viewed 310, and a grid 315 of the programs of aselected channel category by channel 320, date 325, and time 330. A usermay select a channel category by, for example, highlighting the categoryusing a controller (not shown) and selecting an appropriate option onthe controller (e.g., an activatable button on a remote control).

When the channel category is selected, the grid 315 changes to reflectthe programs of that selected channel category in duration blocks 335.FIG. 3 shows a program guide 300 in which the “Sports” channel categoryis selected and the grid 315, therefore, reflects sports channels andsports programs. The grid 315, for example, indicates that “Bass Fishingwith Buddy Lee” is showing on ESPN2 from 7:00 pm to 7:30 pm on Thursday,November 22.

The user may select a channel in the grid 315 and view that channel inthe display 310. A user also may select a specific program block 335 andswitch the display 310 or the channel of the TV to the channel 325 onwhich that program will be shown. Additionally, the user may select theprogram block 335, be presented with options to record that program forthe current day and time along with future times, and subsequentlyrecord the program using the personal video recorder 298.

Although program guide 300 includes a channel/time matrix display (i.e.,the grid 315), various other types of program guides may be used toprovide the same or similar functionality as a matrix display but in adifferent display format. Examples include the TiVo™ Guide, the RadioTelevision Luxemburg (RTL) Guide, and the Zap2It™ Guide.

FIG. 4 shows a display 400 in a network environment that includespromotional program icons 405 and content 410. The network environmentmay be, for example, the Internet, and the display may be a web pagedisplayed using a browser application (e.g., Netscape's Navigator). Thepromotional program icons 405 may be, for example, banners and mayinclude graphical images supported by embedded universal resourcelocator (URL) links. The promotional program icons 405 typically areindependent of the content 410 or may be provided by a different sourcethan the source that provides the content 410. Content 410 isindependent of a programming guide or interface. As such, the content410 does not include a program schedule and is not related to therecording of programs. FIG. 5A shows a method 500 used to enable programrecording in response to user selection of promotional program icons 405on a display. The method 500 includes presenting the promotional programicon to the client system (step 505), receiving notification of userselection of the promotional program icon from the client system (step510), identifying the user (step 515), and enabling the user to record aprogram promoted by the promotional program icon (step 520).

For instance, with respect to the display 400 of FIG. 4 andcommunication system 100 of FIG. 1, the host system 110 presents thepromotional program icon 405 to the client system 105 (step 505) andalso may present the content 410 to the client system 105. The hostsystem 110 may receive data to generate the promotional program icon 405from the content provider server 175 or, alternatively or additionally,from the advertisement server 180. The user may select the promotionalprogram icon 405 by placing a mouse pointer on the icon and clicking, byhighlighting the icon and pressing a key on a keyboard, or otherwise.The host system 110 receives notification of the user selection of thepromotional program icon in step 510. The program icon may include, forexample, an embedded URL link that sends a notification packet acrossthe network 160 to the host system 110 when the program icon is selectedby the user.

The host system 110 identifies the user (step 515), for example, byaccessing a screen name of the user from a login server (not shown) or,alternatively or additionally, from the customer information database185. Identification information of the personal recording device ordevices owned by the user also are accessed by the host system 110 fromthe customer information database 185. The recording deviceidentification information may include the number of devices and themake and model of each device.

If the host system 110 is not able to access any identificationinformation for the personal recording devices of the user, the hostsystem 110 may send a setup configuration screen 600 to elicit suchinformation from the user, as shown in FIG. 6. The setup configurationscreen includes a zip code field 605, a type of service list 610, adevice list 615, a cancel button 620, and a submit button 625. The usermay specify his or her location by, for example, inputting a zip codeinto the zip code field 605. In another implementation, the user mayspecify his or her location by inputting an area code. The user mayspecify the type of service he or she receives by, for example,selecting the button next to the appropriate service in the service list610. The user also may specify the recording devices he or she owns by,for example, scanning through a list of devices by selecting the arrows620 next to the device fields 625. The arrows 620 toggle through thedevice types supported by the host system 110. The user may submit arecording device identification number or a make and model, asnecessary, using an interstitial splash screen (not shown). Uponcompletion of the setup configuration, the user may submit theconfiguration to the host system 110 by selecting the submit button 625or, alternatively, the user may restart the setup configuration byselecting the cancel button 620.

FIG. 5B shows one implementation of the method 500 of FIG. 5A, wherestep 520 is divided into exemplary substeps. Specifically, enabling auser to record a program promoted by the promotional program icon (step520) includes presenting the client system with recording options thatmay be customized for the user (step 525), receiving user optionselection information from the client system (step 530), processingoption selection and user information into a standardized packet (step535), delivering the packet to a recording device provisioner ordirectly to a recording device of the user (step 540), and, if receiptof the packet is acknowledged from the recording device provisioner orthe recording device(step 542), sending a message confirming therecording request to the client system (step 545). If a receipt is notacknowledged, an error message is sent to the client system (step 550)stating that the recording request was not successful and providingapplicable error information as supplied by the recording deviceprovisioner or the recording device.

Presenting the client system with recording options (step 525) includespresenting the client system 105 with the option to record one or moreprograms promoted by the promotional program icon 405. If thepromotional program icon promotes more than one program, an interstitialscreen may be presented to the user to allow the user to select thedesired program from a list of the promoted programs.

Alternatively, the desired program may be selected from the list ofpromoted programs by adding the list 707 to a menu of options 700presented to the user, as shown in FIG. 7. The options 700 may becustomized to the user based on the user identification data gathered instep 515. The options 700 include the option to specify the recordingdevice used to record the desired program, for example, by selecting abutton next to the appropriate device from a list 705 of the recordingdevices owned by the user. The list 705 of recording devices may includea device type and a device description, as specified by the user of thedevice. The description may be, for example, the location of the devicein the home of the user.

The options 700 also may include various recording options 710. Theserecording options 710 include, for example, the option to record theprogram one time 715, record the program multiple times 720 (e.g.,record the program for the whole season), set the recording priority tohigh 725, and set the recording priority to low 730. The recordingpriority settings 725 and 730 are used to allow the user to specifywhether the program should be recorded if/when the recording schedule ofthe program conflicts with the recording schedule of another program.The recording options also may include the option to set a preferredlist (not shown) of programs to record.

The options 700 also may include various reminder options 735. Thereminder options 735 include, for example, the option to automaticallyremind the user about one particular episode of the program 740 at apredetermined time prior to that particular episode being shown,automatically remind the user about every episode of the program 745 ata predetermined time prior to each episode being shown, add the programto the calendar of the user 750, allow the user to manually set areminder 755 at a specified time, and set an alert 760 for the programthat will alert the user using a sequence of communication steps set upwhen the user registered for an alert service.

The options 700 also may include sending options 765 to electronicallysend the promotional program icon 405 to another user. The sendingoptions 765 include, for example, the option to send the promotionalprogram icon 405 to another user in an e-mail 770 and the option to sendthe promotional program icon 405 to another user in an instant message775.

Once a user of the client system 105 chooses from among the options 700,the user may submit the recording request by, for example, selecting asubmit button 780. If at any time the user decides not to proceed withthe recording request, the user may select the cancel button 785 to exitthe menu of options 700 without submitting a request.

The recording request of the user is sent to the personal recordingcommunications server 165 of the host system 110 (step 530). Thepersonal recording communications server 165 generates a data packetbased on the information submitted by the user along with program, user,and recording device identification information (step 535).

The data packet may be presented in a standardized format that isrecognized by recording devices and/or by recording device provisioners.The data packet may include user identification information, such as thescreen name of the user, recording device identification information,such as the make and model of the recording device, programidentification information, and option selection information.

The program identification information may include a programidentification (ID) number (e.g., a Tribune Media Services ID number)and program schedule data. The program schedule data may include a dateand time when the program is scheduled to air, a program networkaffiliation (used to determine the channel, network, or station thatwill air the program), and the duration of the program.

The option selection information includes information related to therecording options 710 selected by the user. The selected recordingoptions may be, for example, incorporated into the data packet throughthe use of a repeat flag and a priority flag.

The repeat flag indicates whether the user wishes to record one or moreepisodes of the program. In this implementation, the repeat flag has twovalues, NO or YES. If the repeat flag is set to NO, the user hasselected the option to record only one episode of the program. The time,date, and duration program identification information may then be usedby the recording device or the recording device provisioner to set upthe recording of the episode. If the repeat flag is set to YES, the userhas selected the option to record multiple episodes of the program(e.g., the whole season). The date, time, and duration programidentification information is then only applicable for the firstrecording. The recording device or recording device provisionertypically accesses data from a program guide (e.g., similar to guide300) in order to obtain the date, time, and duration of future episodes.

The priority flag sets the priority level of the recording schedule ofthe program. In this implementation, the priority flag has two values,HIGH or LOW. When the priority flag is set to HIGH, the programrecording schedule will take precedence over any conflicting programrecording schedules that were assigned LOW priority levels whenoriginally set up by the user. Assigning a recording program schedule aHIGH priority level also results in the program recording takingprecedence over any conflicting program recording schedules that wereassigned a HIGH priority level but were set up previously by the user.When the priority flag is set to LOW, the program recording schedulewill only take precedence over any conflicting recording schedules thatwere assigned a LOW priority level and set up previously by the user.

Both the repeat and the priority flags may differ in implementation fromthe preceding description. For example, the repeat flag may includeinformation relating to a specific number of episodes to record, and thepriority flag may include more advanced conflict resolution settingsusable by recording devices with local conflict resolution hardware(e.g., high priority level recording schedules take precedence UNLESSthe program recorded is “Seinfeld”). Advanced uses of the repeat flagand the priority flag may be specific to certain recording devices andto certain recording device provisioners.

In one implementation, the data packet incorporates information relatingto user selection of reminder options 735 and user selection of sendingoptions 765. However, in other implementations, the selectioninformation related to these options is processed by the host system 110rather than by the recording device or recording device provisioner. Assuch, the data packet may not incorporate such information.

The data packet is delivered to one or more of the recording devices 298or 299 of the client system 105, the recording device provisioner (notshown), or the memory buffer 170 of the host system 110 (step 540).Storage of the data packet in the memory buffer 170 makes the packetaccessible at any time to the recording devices 298 or 299 of the clientsystem 105 and/or the recording device provisioner.

If the user has multiple recording devices and decides to record theprogram on more than one recording device (e.g., by selecting more thanone device from the list 705), a data packet will be sent for eachrecording device. The multiple data packets may have different recordingdevice identification information and different recording optionsinformation.

After sending the data packet, the host system 110 waits for anacknowledgement of receipt of the data packet from the recording deviceprovisioner, the memory buffer 170, or the recording device (step 542).If the data packet is successfully received by the recording deviceprovisioner, the memory buffer 170, or the recording device, the hostsystem 110 sends a confirmation screen to the client system 105 (step545). The confirmation screen may be similar to the confirmation screen800 shown in FIG. 8. If no acknowledgement is received, the host system110 may send an error message screen (not shown) to the user statingthat the request was not received (step 550). The error message screenmay include specific details regarding the inability to reach therecording device, the recording device provisioner, or the memory buffer170 (e.g., the servers of the recording device provisioner are notresponding).

FIG. 9 shows a method 900 that is similar to the method 500 with theexception that the method 900 provides exemplary steps used to send thepromotional program icon 405 electronically to another user. As in themethod 500, the method 900 includes presenting the program icon to theclient system (step 505), receiving notification of the user selectionof the program icon at the host system (step 510), identifying the user(step 515), and presenting the client system with recording optionswhich may be customized (step 525). The user of the client system 105may then decide whether to record the program promoted by thepromotional icon and whether to send the icon to another user (step905).

The user may decide to record the program and not send the promotionalprogram icon (step 910) to another user. The user may accomplish thisby, for example, selecting at least one of the recording options 710 andnot selecting any of the sending options 765. The next steps in themethod 900 are the same as those in the method 500. In other words, theoptions selection information and user information are processed into apacket (step 535), the packet is delivered to a recording device or arecording device provisioner (step 540), and a confirmation of therequest is sent to the client system (step 545).

Alternatively, the user of the client system 105 may decide to bothrecord the program promoted by the promotional program icon and send theicon to another user (step 915). The user may accomplish this by, forexample, selecting at least one of the recording options 710 andselecting at least one of the sending options 765. Upon submitting theoptions to the personal recording communications server 165 by, forexample, selecting the submit button 780 in the options menu 700, theprocess to record the program proceeds as before through steps 535, 540,and 545.

The user of the client system 105 may instead decide to send thepromotional program icon to another user without recording any of theprograms promoted by the promotional program icon (step 920). The usermay accomplish this by, for example, not selecting any recording options710 and selecting at least one of the sending options 765. The user maythen submit the options to the personal recording communication server165 by, for example, selecting the submit button 780 in the options menu700.

If the user chooses to send the promotional program icon to another user(either step 915 or step 920), the user is presented with an interfacethat may be used to send the promotional program icon to another user(step 925). When the user chooses to both send the program icon and torecord one or more of the programs presented by the icon (step 915), theinterface used to send the icon may be presented to the user before,after, or concurrent to any of steps 535, 540, and 545.

For example, if the user chooses to send the promotional program iconusing e-mail by selecting the e-mail option 770, the user is presentedwith an e-mail interface that allows the user to send an e-mail 1000similar to that shown in FIG. 10. The e-mail may vary depending on thee-mail applications supported by the client system 105. The e-mailincludes a body 1005 and a header 1010. The body includes an embeddedpromotional program icon 1015 that may include a graphic and a linkbacked up by a URL. The user may directly type content into the e-mailmessage body 1005.

The header 1010 may include typical e-mail fields 1020 (e.g., Subject,Date, From, and To). The header 1010 also may include instructions 1025that inform the recipient of the e-mail that selecting the promotionalprogram icon provides access to a set of options related to the programpromoted by the icon.

The recipient of the e-mail may select the promotional program icon 1015by, for example, right-clicking on the icon. Upon selecting thepromotional program icon 1015, the recipient of the e-mail is presentedwith the menu of options 700 in a manner that is the same or similar tothe presentation of menu options 700 to the sender of the e-mail whenthe sender originally selected the promotional program icon 415 indisplay 400. The recipient may then send the promotional program icon1015 to yet another user by selecting one of the sending options 765. Inthis way, the promotional program icon may be replicated and sentrepeatedly to other users. This ability to repeatedly send thepromotional program icon results in a viral multiplication of the iconover time. Users also may be able to replicate and send the promotionalprogram icon 1015 to others by simply selecting the reply or forwardoptions of the e-mail application.

The promotional program icon also may be replicated and sent to otherusers through instant messaging. A user may send the icon in an instantmessage by selecting option 775.

The implementation of sending a promotional program icon to another userthrough an instant message may be analogous to that of sending apromotional program icon through an e-mail message. The icon is embeddedin the content of the instant message and is sent to the other userimmediately. Selecting the promotional program icon in the instantmessage provides the user access to the menu of options 700 as before.

The described systems, methods, and techniques may be implemented indigital electronic circuitry, computer hardware, firmware, software, orin combinations of these elements. Apparatus embodying these techniquesmay include appropriate input and output devices, a computer processor,and a computer program product tangibly embodied in a machine-readablestorage device for execution by a programmable processor. A processembodying these techniques may be performed by a programmable processorexecuting a program of instructions to perform desired functions byoperating on input data and generating appropriate output. Thetechniques may be implemented in one or more computer programs that areexecutable on a programmable system including at least one programmableprocessor coupled to receive data and instructions from, and to transmitdata and instructions to, a data storage system, at least one inputdevice, and at least one output device. Each computer program may beimplemented in a high-level procedural or object-oriented programminglanguage, or in assembly or machine language if desired; and in anycase, the language may be a compiled or interpreted language. Suitableprocessors include, by way of example, both general and special purposemicroprocessors. Generally, a processor will receive instructions anddata from a read-only memory and/or a random access memory. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as Erasable ProgrammableRead-Only Memory (EPROM), Electrically Erasable Programmable Read-OnlyMemory (EEPROM), and flash memory devices; magnetic disks such asinternal hard disks and removable disks; magneto-optical disks; andCompact Disc Read-Only Memory (CD-ROM). Any of the foregoing may besupplemented by, or incorporated in, specially-designed ASICs(application-specific integrated circuits).

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the claims. For example, advantageousresults still could be achieved if steps of the disclosed techniqueswere performed in a different order and/or if components in thedisclosed systems were combined in a different manner and/or replaced orsupplemented by other components. Accordingly, other implementations arewithin the scope of the following claims.

What is claimed is: 1-40. (canceled)
 41. A computer-implemented method,comprising: receiving, with a client device of a second user, anelectronic communication from a first user, the electronic communicationincluding a promotional program icon that promotes a program;displaying, on the client device of the second user, the promotionalprogram icon; determining, with at least one processor, whether thesecond user has selected the promotional program icon; furtherdisplaying, on the client device of the second user, a set of optionswhen it is determined that the second user has selected the promotionalprogram icon, the set of options including an option to record theprogram; and generating, with the at least one processor, instructionsto record the program in response to the option to record the programbeing selected by the second user.
 42. The method of claim 41, whereinthe electronic communication comprises at least one of an e-mail or aninstant message.
 43. The method of claim 41, wherein the set of optionsfurther include an option to transmit the promotional program icon to athird user.
 44. The method of claim 43, wherein the option to transmitthe promotional program icon to a third user includes an option totransmit the promotional program icon to the third user via an e-mail oran instant message.
 45. The method of claim 44, further comprising:determining, with the at least one processor, whether the second userhas selected the option to transmit the promotional program icon to thethird user via e-mail or an instant message; and transmitting, with theat least one processor, the promotional program icon to the third uservia e-mail or an instant message based on the selection by the seconduser.
 46. The method of claim 41, wherein the set of options furtherinclude an option to periodically record the program promoted by thepromotional program icon.
 47. The method of claim 41, wherein the set ofoptions further include an option to set up a reminder for the program.48. A non-transitory computer-readable storage medium storinginstructions that are executable by at least one processor of a clientdevice of a second user to cause the at least one processor to execute amethod, the method comprising: receiving, with the client device of thesecond user, an electronic communication from a first user, theelectronic communication including a promotional program icon thatpromotes a program; displaying, on the client device of the second user,the promotional program icon; determining whether the second user hasselected the promotional program icon; further displaying, on the clientdevice of the second user, a set of options when it is determined thatthe second user has selected the promotional program icon, the set ofoptions including an option to record the program; and generatinginstructions to record the program in response to the option to recordthe program being selected by the second user to record the program. 49.The non-transitory computer-readable storage medium of claim 48, whereinthe electronic communication comprises at least one of an e-mail or aninstant message.
 50. The non-transitory computer-readable storage mediumof claim 48, wherein the set of options further include an option totransmit the promotional program icon to a third user.
 51. Thenon-transitory computer-readable storage medium of claim 50, wherein theoption to transmit the promotional program icon to a third user includesan option to transmit the promotional program icon to the third user viae-mail or an instant message.
 52. The non-transitory computer-readablestorage medium of claim 51, where the method further comprises:determining, with the at least one processor, whether the second userhas selected the option to transmit the promotional program icon to thethird user via e-mail or an instant message; transmitting, with the atleast one processor, the promotional program icon to the third user viae-mail or an instant message based on the selection by the second user.53. The non-transitory computer-readable storage medium of claim 48,wherein the set of options further include an option to periodicallyrecord the program promoted by the promotional program icon.
 54. Thenon-transitory computer-readable storage medium of claim 48, wherein theset of options further include an option to set up a reminder for theprogram.
 55. An electronic apparatus of a second user, comprising: atleast one processor; and a memory device that stores instructions, theat least one processor executing the instructions to: receive anelectronic communication from a client device of a first user, theelectronic communication including a promotional program icon thatpromotes a program; display the promotional program icon; determinewhether the second user has selected the promotional program icon;further display a set of options when it is determined that the seconduser has selected the promotional program icon, the set of optionsincluding an option to record the program; and generate instructions torecord the program in response to the option to record the program beingselected by the second user to record the program.
 56. The electronicapparatus of claim 55, wherein the electronic communication comprises atleast one of an e-mail or an instant message.
 57. The electronicapparatus of claim 55, wherein the set of options further include anoption to transmit the promotional program icon to a third user.
 58. Theelectronic apparatus of claim 57, wherein the option to transmit thepromotional program icon to a third user includes an option to transmitthe promotional program icon to the third user via an e-mail or aninstant message.
 59. The electronic apparatus of claim 58, wherein theat least one processor is further configured by the instructions to:determine whether the second user has selected the option to transmitthe promotional program icon to the third user via e-mail or an instantmessage; and transmit the promotional program icon to the third user viae-mail or an instant message based on the selection by the second user.60. The electronic apparatus of claim 55, wherein the set of optionsfurther include an option to periodically record the program promoted bythe promotional program icon periodically.